using UnityEngine;
using System.Collections;
using System.Collections.Generic;

public class NAID_Data : ScriptableObject {
	
	[System.Serializable]
	public class DialogueSpeaker
	{
		public string FullName;
		public string DisplayName;
		
		public Color TextColor;
		
		public DialogueSpeaker()
		{
			FullName = "";
			DisplayName = "";
		}
		
		public DialogueSpeaker(string fullName, string DisplayName)
		{
			FullName = fullName;
			DisplayName = DisplayName;
		}
	}
	
	[System.Serializable]
	public class NAID_Node
	{
		public int id;
		
		//Node Set where this node belongs
		public string nodeSet;
		
		//Speaker of the given dialog
		public DialogueSpeaker speaker;
		
		//Can mean anything, from choice to displayed dialog
		public string dialog;
		
		public List<int> output = new List<int>();
		
		//Editor only variables
		public Vector2 editorPosition;
	}
	
	[System.Serializable]
	public class NodeSet
	{
		
		//Id of the dialogue set
		public string id;
		
		//ID of the last line in the dialogue
		public int maxLineId;
		
		public NodeSet()
		{
			id = "New Set";
		}
		
		public NodeSet(string id)
		{
			this.id = id;
		}
	}
	
	[HideInInspector]
	public List<NodeSet> nodeSets = new List<NodeSet>();
	
	[HideInInspector]
	public List<NAID_Node> nodes = new List<NAID_Node>();
}
